package org.smart.access.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import org.smart.access.dto.PageProp;
import org.smart.access.dto.UserInfo;
import org.smart.access.dto.UserRegister;
import org.smart.access.model.User;
import com.baomidou.mybatisplus.extension.service.IService;

import java.sql.SQLException;

/**
 * UserService
 */
public interface UserService extends IService<User> {

    /**
     * 注册用户
     *
     * @param userRegister 用户信息
     * @param isByAdmin
     * @return
     */
    Long register(UserRegister userRegister, boolean isByAdmin) throws SQLException;

    /**
     * 登录
     *
     * @param phone 手机号
     * @param password 密码
     * @return 用户ID
     */
    Long loginWithPwd(String phone, String password);

    /**
     * 获取用户信息
     * @param userId 用户ID
     * @return 用户信息Dto类
     */
    UserInfo getInfo(Long userId);

    IPage<UserInfo> getMUserList(PageProp<User, Void> pageProp);
}
